/**
 * 
 */
package systole.view.crud.surgery;

import systole.exceptions.ExceptionDAO;
import systole.utils.ImageUtils;
import systole.view.crud.controller.ControllerEntityView;
import systole.view.crud.tableModels.SurgeriesTableModel;
import systole.view.utils.ErrorDialog;

/**
 * @author jmj
 *
 */
public class ControllerSurgeryView extends ControllerEntityView {

    /**
     * @throws ExceptionDAO
     */
    @SuppressWarnings("unchecked")
    public ControllerSurgeryView() throws ExceptionDAO {
        super();
        this.entityList = this.facadeDB.getSurgeryBroker().getAllSurgery();
        this.tableModel = new SurgeriesTableModel(this.entityList);
        this.entityName = "Cirugía";
        this.pluralEntity ="Cirugías";
        this.controllerEntityEdition = new ControllerSurgeryEdition();
    }

    @Override
    public void refreshList() {
        try {
            this.entityList = this.facadeDB.getSurgeryBroker().getAllSurgery();
            this.tableModel.refreshList(this.entityList);
            this.entities.getjTableEntities().setModel(this.tableModel);
        } catch (ExceptionDAO ex) {
            ErrorDialog.showError(this.entities,ex.getMessage());
        }
        this.entities.getjTableEntities().revalidate();
    }

    @Override
    protected boolean canDeleteEntity() {
       return false;
    }

    @Override
    protected void loadIconOnForm() {
          this.entities.setIconImage(ImageUtils.buildImage("resources/icons/medic/surgery16.png"));
          this.entities.getJXEntityHeader().setIcon(ImageUtils.buildIcon("resources/icons/medic/surgery32.png"));
    }

}
